super(0, { styleClass: 'level' });
this._level = 0;
- this._maxLevel = 100;
+ this._maxLevel = 1;
this.actor.accessible_name = _("Volume");
set level(value) {
this._level = Math.max(0, Math.min(value, this._maxLevel));
- this.value = this._level / 100;
+ this.value = this._level;
}
get maxLevel() {
}
set maxLevel(value) {
- this._maxLevel = Math.max(100, value);
+ this._maxLevel = Math.max(1, value);
- this.maximum_level = this._maxLevel / 100;
+ this.maximum_level = this._maxLevel;
}
};
}
}
- setMaxLevel(maxLevel = 100) {
+ setMaxLevel(maxLevel = 1) {
this._level.maxLevel = maxLevel;
}
if (serializedIcon)
icon = Gio.Icon.new_for_string(serializedIcon);
+ // Translate from percentages in the D-Bus API to floats
+ if (!isNaN(level))
+ level /= 100;
+ if (!isNaN(maxLevel))
+ maxLevel /= 100;
+
Main.osdWindowManager.show(monitorIndex, icon, label, level, maxLevel);
}
this._allowAmplified = this._soundSettings.get_boolean(ALLOW_AMPLIFIED_VOLUME_KEY);
this._slider.maximum_level = this._allowAmplified
- ? this.getMaxLevel() / 100 : 1;
+ ? this.getMaxLevel() : 1;
if (this._stream)
this._updateVolume();
if (!this._stream)
return null;
- return 100 * this._stream.volume / this._control.get_vol_max_norm();
+ return this._stream.volume / this._control.get_vol_max_norm();
}
getMaxLevel() {
if (this._allowAmplified)
maxVolume = this._control.get_vol_max_amplified();
- return 100 * maxVolume / this._control.get_vol_max_norm();
+ return maxVolume / this._control.get_vol_max_norm();
}
};
Signals.addSignalMethods(StreamSlider.prototype);
return result;
let gicon = new Gio.ThemedIcon({ name: this._volumeMenu.getIcon() });
- let level = parseInt(this._volumeMenu.getLevel());
- let maxLevel = parseInt(this._volumeMenu.getMaxLevel());
+ let level = this._volumeMenu.getLevel();
+ let maxLevel = this._volumeMenu.getMaxLevel();
Main.osdWindowManager.show(-1, gicon, null, level, maxLevel);
return result;
}